-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: make the patch to objchange.ProposedNew explicit #2246
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #2246 +/- ##
==========================================
- Coverage 60.68% 60.67% -0.01%
==========================================
Files 356 356
Lines 46451 46451
==========================================
- Hits 28189 28185 -4
- Misses 16705 16708 +3
- Partials 1557 1558 +1 ☔ View full report in Codecov by Sentry. |
Stepping through the test case. proposedNewNestingSet is actually the one introducing this empty object into the plan. Some tracing:
This is the line:
it manufactures null for priorEV via this line if no matching priorEV is found:
Then it pushes down this nil to proposedNewBlockOrObject which may replace it with an empty value by:
|
I suspect this behavior holds in TF/OpenTOFU in which case we should take matching behavior it and maybe file a fix with them? If we insist on fixing this, I don't think the prior change was surgical enough to fix the issue. In fact it's highly suspect. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for catching!
I take that back - some tests under PRC are failing from #2140 |
Yes, this patch is doing good things for Pulumi. I'm wondering if we shipped this anywhere yet. It is possible that we can opt into keeping it. |
959b5e5
to
c69fd0a
Compare
With this change it is safe to rerun go generate to vendor objchange.ProposedNew algorithm and its modification is made explicit by writing out the intentional patch. Revisiting the patch is tracked in #2247
c69fd0a
to
0fb04a1
Compare
Decided to keep carrying the patch, documented it better and made explicit. Thanks! |
This defines a easy to use interface for writing terraform providers and integration tests in a concise way. It doesn't have automation API, so not as nice as the pulumi ones but I think this is useful for checking certain TF/opentofu behaviours. I've moved/adapted the tf driver from the cross-tests folder into a separate module. I used this to explore the TF behaviour around #2246
With this change it is safe to rerun go generate to vendor objchange.ProposedNew algorithm and its modification is made
explicit by writing out the intentional patch.
Revisiting the patch is tracked in #2247